// 用来封装医院设置相关的一些发送请求的方法
import { Key } from 'react'
// 引入axios实例 request就是axios实例
import { request } from '@/utils/http'
// 引入接口
import {
  IhospitalSetPrams,
  IhospitalSetsResponse,
  IaddHospitalSetType,
  IhospitalSetItem,
} from './model/hospitalSetTypes'

// 获取医院设置表格数据
export function reqHospitalSets({
  page,
  limit,
  hosname,
  hoscode,
}: IhospitalSetPrams) {
  // 使用axios发送请求,要传入响应回来的数据的接口
  return request.get<any, IhospitalSetsResponse>(
    `/admin/hosp/hospitalSet/${page}/${limit}`,
    {
      params: {
        hosname,
        hoscode,
      },
    }
  )
}

// 添加医院设置的方法
export function reqAddHospitalSet(data: IaddHospitalSetType) {
  return request.post<any, null>(`/admin/hosp/hospitalSet/save`, data)
}

// 获取一条医院设置数据
export function reqOneHospitalSet(id: string) {
  return request.get<any, IhospitalSetItem>(`/admin/hosp/hospitalSet/get/${id}`)
}

// 修改一条医院设置数据
// 注意: 由于是修改数据,所以除了表单中的那5条数据,还必须加一个id
export function reqUpdateHospitalSet(data: IaddHospitalSetType) {
  return request.put<any, null>(`/admin/hosp/hospitalSet/update`, data)
}

// 删除一条医院设置
export function reqDelHospitalSet(id: string) {
  return request.delete<any, null>(`/admin/hosp/hospitalSet/remove/${id}`)
}

// 批量删除医院设置
export function reqBatchDelHospitalSets(idList: Key[]) {
  return request.delete<any, null>(`/admin/hosp/hospitalSet/batchRemove`, {
    data: idList,
  })
}
